package com.huahang.fashionpress.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.huahang.fashionpress.model.Product;
import org.apache.ibatis.annotations.*;
import org.springframework.stereotype.Repository;

import java.math.BigDecimal;

import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @Author: 阿俊哥
 * @Date: 2019/8/20 15:38
 * @Version 1.0
 *
 * 更新
 * @author : 王翰聪
 * @since : 2019/08/24
 * @version : 1.1
 * 添加了分页查询商品列表的方法
 */
@Repository
public interface ProductMapper extends BaseMapper<Product> {

    /**
     * 查询所有商品方法
     * @param currIndex
     * @param pageSize
     * @return 分页商品列表
     */
    @Select("select * from t_product limit #{currIndex}, #{pageSize}")
    List<Product> selectProductList(int currIndex, int pageSize);

    /**
     * 查询分类商品方法
     * @param categoryID 类别id
     * @param productPrice 商品价格
     * @param currIndex
     * @param pageSize
     * @return 分页分类商品列表
     */
    @Select("select * from t_product where category_id=#{categoryID} and product_price<#{productPrice} limit #{currIndex}, #{pageSize}")
    List<Product> selectProductByCategoryIDAndPrice(Integer categoryID, BigDecimal productPrice, int currIndex, int pageSize);
    @Select("select * from t_product where category_id=#{categoryID} limit #{currIndex}, #{pageSize}")
    List<Product> selectProductByCategoryID(Integer categoryID, int currIndex, int pageSize);

    @Select("select * from t_product where category_id =#{id}")
    public List<Product> SelectProductByCategoryId(int id);

    @Select("select * from t_product where product_status=#{productStatus}")
    public IPage<Product> selectPageVO(Page<Product> page, @Param("productStatus") Integer productStatus);
}
